#ifndef __ALGO_H__
#define __ALGO_H__

#include "ulti.h"
#include "dataset.h"

using namespace std;

vector<int> set_multiadd_limit_1d(vector<int> &S, vector<int> &T, int u);
vector<pair<int, int>> set_multiadd_limit_2d(vector<pair<int, int>> &S, vector<pair<int, int>> &T, int u, int n);

vector<pair<int, int>> all_subsetsum_cardinality(vector<int> &nums, int begin, int end, int u);
vector<int> all_subsetsum(vector<int> &nums, int u);

int MaxSubSetSum(DataSet &s);

#endif //__ALGO_H__